﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BusinessLogicLayer;
using Entities;

namespace project_exam
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
        }

        private HocVienBLL bllHV;
        //private BindingSource bsHV;
        private DataSet ds;
        private HocVienEntity hveHV;
        FormDSHocVien temp;

        //************************************** Tô đậm ngày chọn trong Lịch************************//
        private void monthCalendar1_MouseDown(object sender, MouseEventArgs e)
        {
            MonthCalendar.HitTestInfo info = monthCalendar1.HitTest(e.Location);
            if (info.HitArea == MonthCalendar.HitArea.Date)
            {
                if (monthCalendar1.BoldedDates.Contains(info.Time))
                    monthCalendar1.RemoveBoldedDate(info.Time);
                else
                    monthCalendar1.AddBoldedDate(info.Time);
                monthCalendar1.UpdateBoldedDates();
            }
        }

        //*************************************** Form Load*******************************************//
        private void FormMain_Load(object sender, EventArgs e)
        {
            bllHV = new HocVienBLL();
            anButtonTextbox();

        }
        //********************************************************************************************//

        //************************************** Các hàm liên quan ***********************************//

        // xem học viên được từ datagridview (từ form khác)
        public void xemHVfromDgv(string maHV)
        {
            hveHV = new HocVienEntity();
            hveHV = bllHV.getById(maHV);
            txtMaHocVien.Text = hveHV.MaHocVien;
            txtHoTen.Text = hveHV.HoTen;
            txtSDT.Text = hveHV.SDT.ToString();
            txtEmail.Text = hveHV.Email;
            txtGhiChu.Text = hveHV.GhiChu;

            hienButtonTextbox();
        }

        // Ẩn button & textbox
        public void anButtonTextbox()
        {
            btnSuaThongTin.Enabled = false;
            btnXoaHV.Enabled = false;
       //     btnDangKyLop.Enabled = false;

            txtMaHocVien.Enabled = false;
            txtHoTen.Enabled = false;
            txtSDT.Enabled = false;
            txtEmail.Enabled = false;
            txtGhiChu.Enabled = false;
        }

        // Hiện button & textbox
        public void hienButtonTextbox()
        {
            btnSuaThongTin.Enabled = true;
            btnXoaHV.Enabled = true;
            btnDangKyLop.Enabled = true;

            //txtMaHocVien.Enabled = true;
            txtHoTen.Enabled = true;
            txtSDT.Enabled = true;
            txtEmail.Enabled = true;
            txtGhiChu.Enabled = true;
        }

        // Xóa text
        public void xoaText()
        {
            txtMaHocVien.Text = null;
            txtHoTen.Text = null;
            txtSDT.Text = null;
            txtEmail.Text = null;
            txtGhiChu.Text = null;
        }

        //******************************************** Các sự kiện click button **********************//

        private void btnTaoHV_Click(object sender, EventArgs e)
        {
            FormThemHV frmThemHV = new FormThemHV();
            frmThemHV.ShowDialog();
        }

        private void btnXemHV_Click(object sender, EventArgs e)
        {
                try
                {
                    if (txtNhapMaHV.Text != "")
                    {
                        hveHV = new HocVienEntity();
                        hveHV = bllHV.getById(txtNhapMaHV.Text);
                        txtMaHocVien.Text = hveHV.MaHocVien;
                        txtHoTen.Text = hveHV.HoTen;
                        txtSDT.Text = hveHV.SDT.ToString();
                        txtEmail.Text = hveHV.Email;
                        txtGhiChu.Text = hveHV.GhiChu;

                        hienButtonTextbox();
                    }
                    else
                        MessageBox.Show("Vui lòng nhập mã học viên!");
                }
                catch (Exception)
                {
                    MessageBox.Show("Mã học viên không tồn tại, vui lòng kiểm tra lại ");
                }
            
        }

        private void btnXemDSHocVien_Click(object sender, EventArgs e)
        {
            temp = new FormDSHocVien(this);
            temp.Show();
        }

        private void btnXoaHV_Click(object sender, EventArgs e)
        {
            DialogResult ask;
            ask = MessageBox.Show("Bạn có chắc chắn xóa học viên này không?", "Dancing Center", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (ask == DialogResult.Yes)
            {
                if (bllHV.deleteHocVien(txtMaHocVien.Text) > 0)
                {
                    xoaText();
                    //MessageBox.Show("Đã xóa thành công");
                }
                else
                    MessageBox.Show("Lỗi");
            }

        }

        private void btnDangKyLop_Click(object sender, EventArgs e)
        {
            VuDieuBLL vdBLL = new VuDieuBLL();
            vdBLL.getAll();
        }
        //******************************************** Kết thúc các sự kiện click button **********************//
    }
}
